{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import dagstermill"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import sklearn.ensemble\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "tags": [
     "parameters"
    ]
   },
   "outputs": [],
   "source": [
    "context = dagstermill.get_context()\n",
    "df = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>sepal_length</th>\n",
       "      <th>sepal_width</th>\n",
       "      <th>petal_length</th>\n",
       "      <th>petal_width</th>\n",
       "      <th>species</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5.1</td>\n",
       "      <td>3.5</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "      <td>setosa</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>4.9</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "      <td>setosa</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>4.7</td>\n",
       "      <td>3.2</td>\n",
       "      <td>1.3</td>\n",
       "      <td>0.2</td>\n",
       "      <td>setosa</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4.6</td>\n",
       "      <td>3.1</td>\n",
       "      <td>1.5</td>\n",
       "      <td>0.2</td>\n",
       "      <td>setosa</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5.0</td>\n",
       "      <td>3.6</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "      <td>setosa</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   sepal_length  sepal_width  petal_length  petal_width species\n",
       "0           5.1          3.5           1.4          0.2  setosa\n",
       "1           4.9          3.0           1.4          0.2  setosa\n",
       "2           4.7          3.2           1.3          0.2  setosa\n",
       "3           4.6          3.1           1.5          0.2  setosa\n",
       "4           5.0          3.6           1.4          0.2  setosa"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = df[['sepal_length', 'sepal_width']]\n",
    "y = df['petal_width']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2020-03-06 15:10:08 - dagster - INFO - system - 9fc24670-e1f4-4c34-a0a2-b3892610987b - Fitted random forest model!\n"
     ]
    }
   ],
   "source": [
    "model = sklearn.ensemble.RandomForestRegressor()\n",
    "fit = model.fit(X,y)\n",
    "context.log.info(\"Fitted random forest model!\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2020-03-06 15:10:09 - dagster - INFO - system - 9fc24670-e1f4-4c34-a0a2-b3892610987b - Random forest model has score 0.9445117490152564\n"
     ]
    }
   ],
   "source": [
    "score = fit.score(X, y)\n",
    "context.log.info(\"Random forest model has score {}\".format(score))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "pred_y = fit.predict(X)\n",
    "plt.scatter(y, pred_y)\n",
    "plt.title(\"True vs. predicted\")\n",
    "plt.xlabel(\"True petal width\")\n",
    "plt.ylabel(\"Predicted petal width\")\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "celltoolbar": "Tags",
  "kernelspec": {
   "display_name": "dagster",
   "language": "python",
   "name": "dagster"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
